#include <iostream>

#include "imageembedder.h"
#include "textembedder.h"
#include "llm.h"

int main() {
    // ImageEmbedder embedder;
    // std::vector<float> embedding = embedder.embedImage("/home/kylin/mug.jpg");
    // std::cout << "Image Embedding: " << std::endl;
    // for (float f : embedding) {
    //     std::cout << f << ", ";
    // }
    // std::cout << std::endl;
    // std::cout << std::endl;
    // std::cout << std::endl;
    // std::cout << std::endl;

    // TextEmbedder textEmbedder;
    // std::vector<float> embedding2 = textEmbedder.embedText("拉布拉多");
    // std::cout << "Text Embedding: " << std::endl;
    // for (float f : embedding2) {
    //     std::cout << f << ", ";
    // }
    // std::cout << std::endl;

    // std::vector<int64_t> tokens = textEmbedder.tokenize("拉布拉多");
    // std::cout << "Tokenize: " << std::endl;
    // for(int64_t i : tokens) {
    //     std::cout << i << ", ";
    // }
    // std::cout << std::endl;

    LLM llm;
    std::string response = llm.chat("<im_start>user\n你好，讲个笑话<|im_end|>\n<|im_start|>assistant\n");
    std::cout << response << std::endl;

    return 0;
}